package stud.aistar.mapper;

import org.apache.ibatis.annotations.Select;
import stud.aistar.entity.Doctor;
import stud.aistar.entity.SecondDepartment;

import java.util.List;
import java.util.Map;

/**
 * Created by Jcdz on 2019/9/28.
 */
public interface DoctorMapper {

    /***
     * 查所有
     * @return
     */
    @Select("select * from doctor")
    List<Doctor> findAll();

    /***
     * 根据id查询医生的名字和简介
     * @param id
     * @return
     */
    @Select("select * from doctor where id=#{value}")
    Doctor findById(Integer id);

    /**
     * 根据科室的id查询属于这个科室的所有的医生
     * @param id
     * @return
     */
    @Select("select * from doctor where sdept_id=#{value}")
    List<Doctor> findBySdeptId(Integer id);

    /**
     * 根据医生id查询医生姓名
     * @param id
     * @return
     */
    @Select("select doc_name from doctor where id=#{value}")
    String findNameById(Integer id);

    /**
     * 根据医生id查询该医生属于二级科室的信息
     */
    @Select("select d.doc_name,s.* from doctor d join second_department s on s.id=d.sdept_id where d.id=#{value} ")
    Map<String,SecondDepartment> findNameAndSdeptNameById(Integer id);

    /**
     * 根据名称查询该医生是否是专家
     * @param name
     * @return
     */
    @Select("select t.doc_type from doctor d join doctor_type t on d.id=t.doc_id where d.doc_name=#{value}")
    Integer findDocTypeByDocName(String name);


}
